home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d12
/
asm_msc1.arc
/
ANS51.ASM
< prev
next >
Wrap
Assembly Source File
|
1988-11-20
|
896b
|
26 lines
TITLE Add to Unordered List (ANS51.ASM)
PAGE ,132
OUR_CODE SEGMENT PARA 'CODE'
PUBLIC ADD_TO_UL
ADD_TO_UL PROC FAR
ASSUME CS:OUR_CODE
CLD ;Make DF=0, to scan forward
PUSH DI ;Save starting address
PUSH CX
MOV CX,ES:[DI] ;Fetch word count
ADD DI,2 ;Make DI point to 1st data el.
CMP CX,0
JE ADD_IT
REPNE SCASW ;Value already in list?
POP CX
JNE ADD_IT
POP DI ; Yes. Restore starting addr.
RET ; and exit.
ADD_IT: MOV ES:[DI],AX ; No. Add it to end of list,
POP DI ; then update element count
INC WORD PTR ES:[DI]
RET ; and exit.
ADD_TO_UL ENDP
OUR_CODE ENDS
END ADD_TO_UL